import { SITEMAP_HEADERS, satelliteShardCount, shardEntries, toUrlset } from '@/components/meta/sitemap-data'; /** Sitemap shards: /sitemap/0.xml (static + entities), /sitemap/1.xml … /sitemap/N.xml (satellites, 5 000 per shard). Hourly revalidation. */ export const revalidate = 3600; export async function GET(_req: Request, ctx: { params: Promise<{ shard: string }> }): Promise { const { shard: seg } = await ctx.params; const m = /^(\d+)\.xml$/.exec(seg); if (!m) return new Response('Not Found', { status: 404 }); const shard = Number(m[1]); const shards = await satelliteShardCount(); if (shard > shards) return new Response('Not Found', { status: 404 }); return new Response(toUrlset(await shardEntries(shard)), { headers: SITEMAP_HEADERS }); }